From 35670a1ee6276f7bccbdafd148e60dc872c124e4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Wed, 24 May 2017 10:24:13 +0200 Subject: [PATCH] testtooltips: Add static tooltip Just a widget class emulating the tooltip look by calling itself "tooltip" in the css node tree and adding the .background style class. --- tests/testtooltips.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/testtooltips.c b/tests/testtooltips.c index 3d64b9262a..50345535fc 100644 --- a/tests/testtooltips.c +++ b/tests/testtooltips.c @@ -23,6 +23,38 @@ #include +typedef struct _MyTooltip MyTooltip; +typedef struct _MyTooltipClass MyTooltipClass; + + +struct _MyTooltip +{ + GtkBin parent_instance; +}; + +struct _MyTooltipClass +{ + GtkBinClass parent_class; +}; + +G_DEFINE_TYPE (MyTooltip, my_tooltip, GTK_TYPE_BIN) + +static void +my_tooltip_init (MyTooltip *tt) +{ + GtkWidget *label = gtk_label_new ("Some text in a tooltip"); + + gtk_container_add (GTK_CONTAINER (tt), label); + + gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (tt)), "background"); +} + +static void +my_tooltip_class_init (MyTooltipClass *tt_class) +{ + gtk_widget_class_set_css_name (GTK_WIDGET_CLASS (tt_class), "tooltip"); +} + static gboolean query_tooltip_cb (GtkWidget *widget, gint x, @@ -248,6 +280,7 @@ main (int argc, char *argv[]) GtkWidget *drawing_area; GtkWidget *button; GtkWidget *label; + GtkWidget *tooltip; GtkWidget *tooltip_window; GtkWidget *tooltip_button; @@ -272,6 +305,13 @@ main (int argc, char *argv[]) box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); gtk_container_add (GTK_CONTAINER (window), box); + tooltip = g_object_new (my_tooltip_get_type (), NULL); + gtk_widget_set_margin_top (tooltip, 20); + gtk_widget_set_margin_bottom (tooltip, 20); + gtk_widget_set_halign (tooltip, GTK_ALIGN_CENTER); + gtk_container_add (GTK_CONTAINER (box), tooltip); + + /* A check button using the tooltip-markup property */ button = gtk_check_button_new_with_label ("This one uses the tooltip-markup property"); gtk_widget_set_tooltip_text (button, "Hello, I am a static tooltip."); -- 2.30.2